Ruby eleva las definiciones de métodos desde firmas rígidas hasta interfaces dinámicas. Al dominar el operador Splat operador y la lógica basada en expresiones, creamos métodos que se adaptan con elegancia a diferentes densidades de datos sin necesidad de sobrecargas complejas.
1. Predeterminados inteligentes y operador Splat
Ruby permite inicializar parámetros dentro de la firma, asegurando funcionalidad incluso con pocos datos. El operador Splat (*) actúa como un puente: en los parámetros, captura argumentos adicionales en un arreglo; en las llamadas, 'desarma' un arreglo en elementos individuales.
2. Devoluciones basadas en expresiones
Los métodos de Ruby devuelven automáticamente el valor de la última expresión ejecutada. Sin embargo, la palabra clave return se utiliza estratégicamente para salir temprano o devolver múltiples valores como un arreglo para asignación paralela.
# Ruby empaqueta (num, sq) como un arreglo [32, 1024]